﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using System.ComponentModel;

namespace Tecnosop.Dominio
{
    [MetadataType(typeof(MEDICIONESMetadata))]
    public partial class MEDICIONES
    {
        internal class MEDICIONESMetadata 
        {
            [ScaffoldColumn(false)]
            [HiddenInput(DisplayValue = true)]
            [DisplayName("ID Medición")]
            //[Required(ErrorMessage = " Ingrese el numero de convenio")]
            public int ID_MEDICION { get; set; }

            //[HiddenInput(DisplayValue = true)]
            //[HiddenInput(DisplayValue = false)]
            [DisplayName("Número de convenio")]
            //[Required(ErrorMessage = " Ingrese el numero de convenio")]
            [ScaffoldColumn(false)]
            public int NUMERO_CONVENIO { get; set; }

            [HiddenInput(DisplayValue = false)]
            [DisplayName(" ")]
            [Required(ErrorMessage = " Ingrese Id equipo")]
            //[ScaffoldColumn(false)]
            public int NUMERO_EQUIPO_EN_CONVENIO { get; set; }

            [DisplayName("Fecha medición")]
            [Required(ErrorMessage = " Ingrese fecha")]
            [Remote("VerificarFechaAnterior", "Medicion", AdditionalFields = "NUMERO_EQUIPO_EN_CONVENIO", ErrorMessage = "La fecha de la medición actual no puede ser antes que la fecha de la medición anterior")]
            public DateTime FECHA_MEDICION_ { get; set; }

            [HiddenInput(DisplayValue = true)]
            [DisplayName("Fecha medición anterior")]
            [ScaffoldColumn(false)]
            //[Required(ErrorMessage = " Ingrese el numero de convenio")]
            public DateTime FECHA_MEDICION_ANTERIOR { get; set; }

            [DisplayName("Medición solo blanco y negro")]
            [ScaffoldColumn(false)]
            public bool MEDICION__BN { get; set; }

            //[HiddenInput(DisplayValue = true)]
            [DisplayName("Contador actual")]
            [Required(ErrorMessage = " Ingrese el estado de contador")]
            [Range(0, Int32.MaxValue, ErrorMessage = "No se permiten valores negativos")]
            [Remote("VerificarContadorAnterior", "Medicion", AdditionalFields = "NUMERO_EQUIPO_EN_CONVENIO, MEDICION__BN", ErrorMessage = "El contador actual no puede ser menor que el contador anterior")]
            public int CONTADOR_ACTUAL_ { get; set; }

            [HiddenInput(DisplayValue = true)]
            [DisplayName("Contador anterior")]
            [ScaffoldColumn(false)]
            //[Required(ErrorMessage = " Ingrese el numero de convenio")]
            public Nullable<int> CONTADOR_ANTERIOR_ { get; set; }

            //[HiddenInput(DisplayValue = true)]
            [DisplayName("Diferencia con la última medición")]
            [ScaffoldColumn(false)]
            //[Required(ErrorMessage = " Ingrese el numero de convenio")]
            public Nullable<int> DIFERENCIA_ { get; set; }

            [DisplayName("Diferencia por facturar")]
            [ScaffoldColumn(false)]
            public Nullable<int> DIFERENCIA_POR_FACTURAR { get; set; }

            [HiddenInput(DisplayValue = true)]
            [DisplayName("Medición facturada")]
            [ScaffoldColumn(false)]
            //[Required(ErrorMessage = " Ingrese el numero de convenio")]
            public bool MEDICION_FACTURADA { get; set; }
            
            //[ScaffoldColumn(false)]
            

            [ScaffoldColumn(false)]
            public Nullable<System.DateTime> FECHA_ULTIMA_FACTURA_ { get; set; }
        }
    }
}
